package com.data.service;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.data.entity.JsonItem;
import com.entity.Item;
import com.interfaces.DataitemItemDao;
import com.interfaces.DataitemsDao;
import com.interfaces.ItemDao;
import com.interfaces.SysdicDao;
import com.setting.service.SysdicService;
import com.utils.JsonResult;
import com.utils.Utils;

/**
 * @Title: ItemService.java
 * @Package com.data.service
 * @author 孙梦楠
 * @date 2017年8月20日 上午11:27:40
 * @version V1.0.0
 */

@Service
public class ItemService {

	@Autowired
	private SysdicDao sysdicdao;
	
	@Autowired
	private ItemDao itemdao;

	@Autowired
	private DataitemItemDao dataitemitemdao;

	@Autowired
	private DataitemsDao dataitemsdao;
	
	@Autowired
	private SysdicService sysdicservice;

	// 给DateitemID查到Item列表
	public List<Item> listItemByDateitemid(Integer Dataitemid) {
		List<Item> items = itemdao.listItemByDateitemid(Dataitemid);
		return items;
	}

	// 列出属于某种终端协议的所有item
	public JsonResult<List<JsonItem>> listItemByProtocoltype(Integer dataitemid,String opetypecookie,String languagecookie) {
		
			String protocoltype = dataitemsdao.findOne(dataitemid).getProtocoltype();
			List<Item> items = itemdao.findByProtocoltype(protocoltype);
			List<JsonItem> jsonitems = new ArrayList<JsonItem>();

			if (items.size() != 0) {

				for (int i = 0; i < items.size(); i++) {
					Item item = items.get(i);
					jsonitems.add(dojsonitem(item,opetypecookie,languagecookie));
				}
			}
			return new JsonResult<List<JsonItem>>(371, "按照终端协议列出已有的ITEM", jsonitems);
		
	}
	
	//增加ITEM
	
	
	

	// 前端类
	private JsonItem dojsonitem(Item item,String opetypecookie,String languagecookie) {

		JsonItem jsonitem = new JsonItem();
		jsonitem.setItemid(item.getItemid());
		jsonitem.setProtocoltype(item.getProtocoltype());
		jsonitem.setName(item.getName());
		jsonitem.setAfn(item.getAfn());
		jsonitem.setDt(item.getDt());
		jsonitem.setDa(item.getDa());
		jsonitem.setMetercontrol(item.getMetercontrol());
		jsonitem.setIdentification(item.getIdentification());
		jsonitem.setDatalen(item.getDatalen());
		jsonitem.setDatavalue(item.getDatavalue());
		jsonitem.setDataunit(item.getDataunit());
		jsonitem.setPRM(item.getPRM());
		jsonitem.setProtocoltypename(sysdicservice.finddisplay(sysdicservice.gettype(opetypecookie,"1"),item.getProtocoltype(),languagecookie));

		return jsonitem;
	}
	

}
